from Common.common import Common
from Common.faker_util import random_name


class 新增问卷页(Common):
    """页面通过xpath、cssselector方法定位前端元素"""
    ele_问卷标题 = '[class="el-form-item is-required el-form-item--mini"] input'
    ele_欢迎语 = '[data-placeholder="请输入内容"]'
    ele_增加xx秒按钮 = '[class="el-form el-form--label-right"]>div:nth-child(3)>div:nth-child(1) span:nth-child(2)[role="button"]'
    ele_单选题自动进入下一题 = '[class="el-form el-form--label-right"]>div:nth-child(4)>div:nth-child(2) span:nth-child(3)'
    ele_高级模式 = '[class="el-form el-form--label-right"]>div:nth-child(4)>div:nth-child(1) span:nth-child(3)'
    ele_审核页面呈现 = 'text=审核页面呈现'
    ele_保存 = 'text=保存'

    """封装页面操作逻辑"""
    def 输入问卷内容_保存(self, 问卷最短填答时间=0, 高级模式=0, 单选题自动进入下一题=0, 问题说明=0):

        name = random_name()
        self.input(self.ele_欢迎语, 'Hello！' + name)
        self.click(self.ele_问卷标题)
        self.input(self.ele_问卷标题, f'AutoTest手动 创建问卷@{name}')
        for i in range(问卷最短填答时间):
            self.click(self.ele_增加xx秒按钮)
        if 高级模式 != 0:
            self.click(self.ele_高级模式)
        if 单选题自动进入下一题 != 0:
            self.click(self.ele_单选题自动进入下一题)
        if 问题说明 != 0:
            self.click(f'text={问题说明}')
        self.click(self.ele_保存)
        return self
